package com.gallop.akka.spec.msg;

import com.gallop.akka.callback.ActorAsyncCallback;
import com.gallop.akka.serialize.ActorSerializableMessage;

/**
 * rpc request with async response callback.
 * <p>
 * always used by local facade actor
 *
 * @param <T>
 */
public interface ActorRequest<T> extends ActorSerializableMessage {

    String getId();

    void setId(String id);

    ActorAsyncCallback<T> getCallback();

    void setCallback(ActorAsyncCallback<T> callback);
}
